/**
 * created by 小卷毛, 2019-09-18 018
 * Copyright (c) 2019, 416143467@qq.com All Rights Reserved.
 * #                   *********                            #
 * #                  ************                          #
 * #                  *************                         #
 * #                 **  ***********                        #
 * #                ***  ****** *****                       #
 * #                *** *******   ****                      #
 * #               ***  ********** ****                     #
 * #              ****  *********** ****                    #
 * #            *****   ***********  *****                  #
 * #           ******   *** ********   *****                #
 * #           *****   ***   ********   ******              #
 * #          ******   ***  ***********   ******            #
 * #         ******   **** **************  ******           #
 * #        *******  ********************* *******          #
 * #        *******  ******************************         #
 * #       *******  ****** ***************** *******        #
 * #       *******  ****** ****** *********   ******        #
 * #       *******    **  ******   ******     ******        #
 * #       *******        ******    *****     *****         #
 * #        ******        *****     *****     ****          #
 * #         *****        ****      *****     ***           #
 * #          *****       ***        ***      *             #
 * #            **       ****        ****                   #
 */
package com.zhiyou.aifeng.viewmodel

import android.app.Activity
import android.graphics.Color
import com.vector.update_app.UpdateAppBean
import com.vector.update_app.check
import com.vector.update_app.updateApp
import com.zhiyou.aifeng.common.helper.optNotNull
import com.zhiyou.aifeng.common_ui.model.BaseUrl
import com.zhiyou.aifeng.common_ui.viewmodel.BaseViewModel
import com.zhiyou.aifeng.smart_machine.R
import com.zhiyou.aifeng.utils.OkGoUpdateHttpUtil
import org.json.JSONObject

/**
 * 项目名称：Smart_Machine
 * 创建人：小卷毛
 * 创建时间：2020-07-21 11:08
 */
open class UpdateViewModel : BaseViewModel() {

    fun checkUpdate(context: Activity, slience: Boolean = false) {

        context.updateApp(
            BaseUrl.version,
            OkGoUpdateHttpUtil()
        ) {
            //设置请求方式，默认get
            isPost = true
            //添加自定义参数
            params = HashMap<String, String>()
            //设置apk下砸路径
            targetPath = context.cacheDir.absolutePath
            //设置头部图片
            topPic = R.mipmap.icon_update_hint
            //为按钮，进度条设置颜色。
            themeColor = Color.parseColor("#22D892")
        }.check {
            onBefore { if (!slience) showLoading() }
            onAfter { if (!slience) dismissLoading() }
            noNewApp { if (!slience) showToast("当前已是最新的版本！") }
            parseJson {
                val jsonObject = JSONObject(it ?: "{}")
                val obj = jsonObject.optJSONObject("data") ?: JSONObject()
                val url = obj.optString("url")
                val remark = obj.optString("remark")
                val compel = obj.optBoolean("compel")
                val version = obj.optNotNull("version")

                UpdateAppBean()
                    //（必须）是否更新Yes,No
                    .setUpdate(if (url.isEmpty()) "No" else "Yes")
                    //（必须）新版本号
                    .setNewVersion(version)
                    //（必须）下载地址
                    .setApkFileUrl(url)
                    //（必须）更新内容
                    .setUpdateLog(remark)
                    //是否强制更新，可以不设置
                    .setConstraint(compel)
            }
        }
    }

}